#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int n = 0;
    cin >> n;
    vector<int> v(n, 0);
    for (int i = 0;i < n;i++)
    {
        cin >> v[i];
    }
    vector<int> dpl(n, 0);
    dpl[0] = 1;
    for (int i = 1;i < n;i++)
    {
        for (int j = i - 1;j >= 0;j--)
        {
            if (v[j] < v[i])
            {
                dpl[i] = max(dpl[i], dpl[j]);
            }
        }
        ++dpl[i];
    }
    vector<int> dpr(n, 0);
    dpl[0] = 1;
    for (int i = n - 1;i >= 0;i--)
    {
        for (int j = i + 1;j < n;j++)
        {
            if (v[j] < v[i])
            {
                dpr[i] = max(dpr[i], dpr[j]);
            }
        }
        ++dpr[i];
    }
    int Max = 0;
    for (int i = 0;i < n;i++)
    {
        int x = 0;
        for (int j = i - 1;j >= 0;j--)
        {
            if (v[j] < v[i]) x = max(x, dpl[j]);
        }
        int y = 0;
        for (int j = i + 1;j < n;j++)
        {
            if (v[j] < v[i]) y = max(y, dpr[j]);
        }
        if (x + y + 1 > Max) Max = x + y + 1;
    }
    cout << n - Max << endl;
    return 0;
}
